package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//配置类用于创建阿里文件传输类AliOssProperties类中扫描了yml文件中的阿里云的配置
//因此要给AliOssUtil传入配置时，只需将AliOssProperties类中存储的数据get出来即可
@Configuration
@Slf4j
public class OssConfig {
    @Bean
    @ConditionalOnMissingBean//保证spring容器类中只创建一个文件传输工具类，当没有此类时才创建
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) {
        log.info("开始创建阿里云文件传输工具类对象，{}",aliOssProperties);
        return new AliOssUtil(aliOssProperties.getEndpoint(),
                aliOssProperties.getAccessKeyId(),
                aliOssProperties.getAccessKeySecret(),
                aliOssProperties.getBucketName());
    }
}
